home *** CD-ROM | disk | FTP | other *** search
- The NEWFONT System
- ------------------
-
- The programs in NEWFNT.ARC will provide owners of most EGA systems a new set
- of text fonts in both 25 and 43 line modes. In addition, they make it a simple
- task to switch between the ROM-based 8x14 font and the two new fonts. Included
- with the NEWFONT system are alternate font-switching programs to use with the
- NANSI.SYS console driver. The NEWFONT system also provides a simple method for
- users to load the EGA pallette registers, and make them resident throughout
- almost every application program. Two programs are included that will allow
- the NEWFONT system to be used with MARK/RELEASE, and with 'EGA-dumb' programs
- like Microsoft's CodeView.
-
- The NEWFONT system will not operate with EGA cards that cannot do font changes
- during mode changes. The Genoa Spectra EGA and the Tseng Labs EVA are the only
- EGA cards known at this time which will not operate with the NEWFONT system.
- Hopefully these EGA cards will soon fix the bugs in their EGA BIOS.
-
- These programs are user supported. Developing these new fonts is alot of work!
- If you feel that these programs are of value, I would appreciate a donation of
- $10.00. If you are using this program in a commercial environment, then the
- donation is not voluntary. If you include a stamped, self-addressed envelope, I
- will send patches for MS-Word 3.0 and Lotus 1-2-3 v2.0 that will allow you to
- change any color in either text or graphics; this is provided because they are
- the only programs I've found that override the pallette-setting features of
- NEWFONT. I will also provide details of all the NEWFONT programs so that you
- can use your own fonts and run other EGA programs with the NEWFONT system.
-
- You can send your donation to:
-
- Mark Horvatich
- 3310 Portal #1006
- Colo. Springs, CO 80909
-
-
-
- Description of the NEWFONT System
- ---------------------------------
-
- There are eight programs in the NEWFONT system. The main program, NEWFONT.COM,
- loads the NEWFONT system, selects a new 8x14 text font, and loads the EGA
- pallette registers with pre-set values. You run NEWFONT.COM by typing NEWFONT
- at the DOS prompt, or by having the line NEWFONT as a line in your AUTOEXEC.BAT
- file. If you type NEWFONT again, the system will select the ROM-based 8x14
- font. Typing NEWFONT repeatedly will simply toggle the display between the
- NEWFONT font and the ROM-based font. NEWFONT.COM also moves the entire EGA
- SAVE_PTR table into RAM. This will be described later.
-
- PLEASE NOTE: NEWFONT.COM must be the first EGA resident program loaded into
- your system. Failure to do so may cause unpredictable results.
-
- The two programs 8X14LOAD.COM and 8X8LOAD.COM will load new 8x14 and 8x8
- fonts, respectively, into the NEWFONT system. These programs allow you to
- quickly shift between 25 and 43 line mode, since the 8x8 font automatically
- selects 43 line mode. The font in the 8X14LOAD program is the same as the font
- in the main NEWFONT program. You can still access the ROM-based font at any
- time, even with the 8x8 font loaded into your EGA, by typing NEWFONT as
- described above.
-
- The programs NANS8X8.COM and NANS8X14.COM are identical in function to the
- above programs, but are for use with the NANSI.SYS console driver. They should
- be used in place of 8X8LOAD.COM and 8X14LOAD.COM if you use NANSI.SYS.
-
- The programs RESETPAL.COM and SETPAL.COM simply load the pallette registers
- with either the author-chosen values (SETPAL.COM), or the default values
- (RESETPAL.COM). This is provided for those who may not like my choice of
- colors. It also is an excellent demonstration of how simple it is to
- manipulate the pallette registers when the NEWFONT system is loaded.
-
- The programs FNTOFF.COM and FNTON.COM will disable and enable, respectively,
- the NEWFONT system. After FNTOFF is run, everything is returned to default
- operation, but NEWFONT remains in memory. You can then use MARK/RELEASE to
- remove NEWFONT from memory, if desired. FNTOFF and FNTON can also be used with
- programs like Microsoft's CodeView, which goes crazy whenever any EGA TSR
- modifies anything in the EGA SAVE_PTR (poor programming, in my opinion). You
- can set up a batch file to run CodeView; this batch file will run FNTOFF.COM,
- CV.EXE, and FNTON.COM in the above order.
-
- The last program, SETCUR.COM, is provided for those EGA cards that emulated
- the bug-filled BIOS of the IBM EGA card. A major bug in the IBM EGA BIOS will
- cause the cursor to disppear in 8x8 mode when a program defines a cursor that
- is one to three rows tall. Fortunately, most programs make the cursor larger
- within the program, and reset the cursor upon exiting the program. If you lose
- your cursor after exiting a program, simply type SETCUR, and your cursor will
- be restored.
-
-
-
- PROBLEMS, WARNINGS, ETC
- -----------------------
-
- There are two potential problems with the NEWFONT system. First, do not, UNDER
- ANY CIRCUMSTANCES, use the NEWFONT system with any other EGA resident program
- that does not check whether the SAVE_PTR table has been moved into RAM. You
- will most likely crash your system, since NEWFONT will no longer know how to
- change fonts. Also, as stated before, the NEWFONT system MUST BE THE FIRST
- RESIDENT EGA PROGRAM LOADED. Other EGA resident programs should be loaded after
- NEWFONT.COM is loaded. This will ensure that all well-behaved EGA resident
- programs work together. If NEWFONT.COM is loaded, however, you can always
- return to the NEWFONT system by running SETCUR.COM.
-
- The second problem (currently) is with 43 line mode. This mode is not currently
- supported by DOS and most application programs, so you must use it at your own
- risk. If you would like to use 43 line mode, the file ANSIEG.DOC in DL3 of the
- IBM Hardware Forum details the patches necessary to use 43 line mode in DOS.
- Hopefully, future versions of DOS and other application programs will recognize
- the benefits of 43 line mode, and support it. The NANSI.SYS driver is a good
- start in this direction.
-
-
-
- Description of EGA SAVE_PTR Table
- ---------------------------------
-
- The following is a description of the EGA SAVE_PTR table that the NEWFONT
- system sets up in RAM. It is provided for the use of software developers who
- would like to write EGA resident programs to work with the NEWFONT system.
- It is also provided in the hopes that it become a standard, which would make
- the above warnings about the NEWFONT system unnecessary.
-
- The offset listed is the offset from the EGA entry point found in memory
- location 0:4A8h:
-
-
- offset description bytes
-
- 0h DWORD_1 to DWORD_7 28
- 1Ch reserved 4
- 20h DWORD_1 table 1472
- 5E0h DWORD_2 table 256
- 6E0h DWORD_3 table 32
- 700h DWORD_4 table 28
- 71Ch reserved 4
- 720h font table(s) 3584
- 1520h ** end of table **
-
- Other EGA resident programs (such as ones which set EGA pallettes or load
- graphics fonts) which follow the above guidelines do not need to set aside
- any RAM for the SAVE_PTR table, since RAM is set aside for everything except
- extra fonts. The EGA resident program need only query location 0:4A8h, check
- whether the EGA table has been loaded into RAM, and if so, modify the EGA
- SAVE_PTR locations as necessary.
-
- The NEWFONT system also provides a simple method to load the EGA pallette
- registers. NEWFONT defines a function (AH=0CCh) of INT 10h that will return the
- segment address (in AX) of the SAVE_PTR table, a segment address (in BX) that
- will point to the 16 pallette registers and overscan register at BX:00F0, and a
- flag word of 0ABCDh (in CX) if the NEWFONT system is loaded.
-
- If a pallette-changing program calls INT 10h with AH=0CCh, checks CX for 0ABCDh
- to determine whether the NEWFONT system is loaded, then loads the 17 values at
- BX:00F0, the pallette-changing program can exert much more control over the
- pallettes than otherwise possible.
-
- ------------------------------------------------------------------------------
-
- If you have any questions, feel free to ask them in the HP Forum (GO HP) or in
- the IBM Hardware Forum (GO IBMHW) in CompuServe. Have fun!
-
-
- Mark Horvatich
- Sysop, HP Forum (Compuserve) 76703,4163